﻿//---------------------------------
// 全角カタカナチェック
//---------------------------------
function checkFullSizeKata(str){
	var a = str.match(/^[ァ-ン]+$/);
	return a;
}

//---------------------------------
// 半角カタカナチェック
//---------------------------------
function checkHalfSizeKata(str){
	var a = str.match(/[ｱ-ﾝｧｨｩｪｫｬｭｮ]/);
	return a;
}

//---------------------------------
// 半角数値チェック
//---------------------------------
function checkHalfSizeNum(str){
	var a = str.match(/^[0-9]+$/);
	return a;
}
//---------------------------------
// 全角チェック
//---------------------------------
function checkFullSize(argValue)
{
	var length = argValue.length * 2;
	if (length == getByteLength(argValue))
	{
		return true;
	}else{
		return false;
	}
}

//---------------------------------
// バイト数を取得する
//---------------------------------
function getByteLength(argValue) {
	var HALF_SIZE_KANA = "ｧｱｨｲｩｳｪｴｫｵｶｷｸｹｺｻｼｽｾｿﾀﾁｯﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓｬﾔｭﾕｮﾖﾗﾘﾙﾚﾛﾜｦﾝｰﾟﾞ";
	var i = 0;
	var count = 0;
	for (i = 0; i < argValue.length; i++) {
		if (0 <= HALF_SIZE_KANA.indexOf(argValue.charAt(i))) {
			// 半角カタカナの場合は1バイトとして計算します
			count++;
		}else if (escape(argValue.charAt(i)).length >= 4) {
			count+=2;
		}else{
			count++;
		}
	}
	return count;
}

//---------------------------------
// 半角チェック
//---------------------------------
function checkHalfSize(str,flg) {  
	for (var i = 0; i < str.length; i++) {  
		var c = str.charCodeAt(i);  
		if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {  
			if(!flg) return true;  
		} else {  
			if(flg) return true;  
		}  
	}
	return false;
}

//---------------------------------
// 入力制限　数値処理
//---------------------------------
function inputNum() {
	if (window.event) {
		var c = window.event.keyCode;
		if ( 48<=c&&c<=57 || 96<=c&&c<=105 || c==37 || c==39 || c==8 || c==9 || c==45 || c==46 || c==36 || c==35 ) {
			return; 
		}else{ 
			return false;
		}
	}
}

//---------------------------------------------
// 入力画面ボタン処理
//---------------------------------------------
function checkData() {
	var mes = "";
	var err = new Array(11);

	//会社名
	if (document.form1.companyname.value == "" || document.form1.companyname.value == null) {
		mes = '会社名を入力して下さい';
		err[0] = mes;
	}
	
	//ご担当部署名
	if (document.form1.sentionname.value == "" || document.form1.sentionname.value == null) {
		mes = 'ご担当部署名を入力して下さい';
		err[1] = mes;
	}

	//お名前
	if (document.form1.username.value == "" || document.form1.username.value == null) {
		mes = 'お名前を入力して下さい';
		err[2] = mes;
	}
	
	//ご住所(郵便番号(3桁))
	if (document.form1.post1.value != "" && document.form1.post1.value != null) {
		if (checkHalfSizeNum(document.form1.post1.value) == null) {
			mes = 'ご住所(郵便番号(3桁))は半角数字で入力して下さい';
			err[3] = mes;
		}else{
			if (document.form1.post1.value.length != 3) {
				mes = 'ご住所(郵便番号(3桁))は3桁で入力して下さい';
				err[3] = mes;
			}
		}
	}
	//ご住所(郵便番号(4桁))
	if (document.form1.post2.value != "" && document.form1.post2.value != null) {
		if (checkHalfSizeNum(document.form1.post2.value) == null) {
			mes = 'ご住所(郵便番号(4桁))は半角数字で入力して下さい';
			err[4] = mes;
		}else{
			if (document.form1.post2.value.length != 4) {
				mes = 'ご住所(郵便番号(4桁))は4桁で入力して下さい';
				err[4] = mes;
			}
		}
	}
	
	//ご住所(都道府県)
	if (document.form1.sel_kenmei.value == "" || document.form1.sel_kenmei.value == null) {
		mes = 'ご住所(都道府県)を選択して下さい';
		err[5] = mes;
	}
	
	//ご住所
	if (document.form1.address.value != "" && document.form1.address.value != null) {
		if (checkHalfSizeKata(document.form1.address.value) != null) {
			mes = 'ご住所に半角カナは入力できません';
			err[6] = mes;
		}
	}
	
	//TEL
	if (document.form1.tel.value != "" && document.form1.tel.value != null) {
		if (checkHalfSize(document.form1.tel.value,1) == true) {
			mes = 'TELは半角で入力して下さい';
			err[7] = mes;
		}else{
			if (checkHalfSizeKata(document.form1.tel.value) != null) {
				mes = 'TELには半角カナは入力できません';
				err[7] = mes;
			}else{
				if (document.form1.tel.value.length > 15 || document.form1.tel.value.length < 10) {
					mes = 'TELは10桁以上15桁以内で入力して下さい';
					err[7] = mes;
				}else{
					if (document.form1.tel.value.match(/[^0-9-]+/ )) {
						mes = 'TELを正しく入力して下さい';
						err[7] = mes;
					}
				}
			}
		}
	}
	
	//E-mail
	if (document.form1.mail.value == "" || document.form1.mail.value == null) {
		mes = 'E-mailを入力して下さい';
		err[8] = mes;	
	}else{
		if (document.form1.mail.value.indexOf("@") == -1){
			mes = 'E-mailにはメールアドレスを入力して下さい';
			err[8] = mes;	
		}else{
			if (checkHalfSize(document.form1.mail.value,1) == true) {
				mes = 'E-mailは半角で入力して下さい';
				err[8] = mes;
			}else{
				if (checkHalfSizeKata(document.form1.mail.value) != null) {
					mes = 'E-mailには半角カナは入力できません';
					err[8] = mes;
				}else{
					if (document.form1.mail.value.length > 100) {
						mes = 'E-mailは100桁以内で入力して下さい';
						err[8] = mes;
					}else{
						if (!document.form1.mail.value.match(/[!#-9A-~]+@+[a-z0-9]+.+[^.]$/)) {
							mes = 'E-mailを正しく入力して下さい';
							err[8] = mes;
						}
					}
				}
			}
		}
	}
	/*
	var bItemFlg = false;
	//問い合わせ内容
	if (document.form1.inquiry.value != "" && document.form1.inquiry.value != null) {
		if (document.form1.inquiry.value.length > 1000) {
			mes = '問い合わせ内容は2000文字(改行含む)以内で入力して下さい';
			err[9] = mes;
		}
		bItemFlg = true;
	}

	//資料請求
	for(i =0; i< document.form1.elements.length;i++){
		if(document.form1.elements[i].type=="checkbox"){
			if(document.form1.elements[i].checked){
				bItemFlg = true;
				break;
			}
		}
	}
	//問い合わせ内容&資料請求
	if(!bItemFlg){
		mes = '問い合わせ内容・資料請求のどちらかは入力または選択して下さい';
		err[10] = mes;
	}
	*/
	var errormsg = "";
	var errornum = 0;
	var firstFlg = false;
	//エラーメッセージ組み立て
	for (i = 0; i < 8; i++) {
		if (err[i] != null && err[i] != "") {
			if (firstFlg == false) {
				errormsg = err[i];
				firstFlg = true;
				errornum = i;
			}else{
				errormsg = errormsg + "\n" + err[i];
			}
		}
	}
	
	//エラーがあればアラートを表示する
	if (firstFlg == true) {
		alert(errormsg);
		//エラーの先頭にフォーカスを当てる
		if (errornum == 0){
			document.form1.companyname.focus();
		}else if (errornum == 1){
			document.form1.sentionname.focus();
		}else if (errornum == 2){
			document.form1.username.focus();
		}else if (errornum == 3){
			document.form1.post1.focus();
		}else if (errornum == 4){
			document.form1.post2.focus();
		}else if (errornum == 5){
			document.form1.sel_kenmei.focus();
		}else if (errornum == 6){
			document.form1.address.focus();
		}else if (errornum == 7){
			document.form1.tel.focus();
		}else if (errornum == 8){
			document.form1.mail.focus();
		}else if (errornum == 9){
			document.form1.inquiry.focus();
		}else if (errornum == 10){
			document.form1.inquiry.focus();
		}
		return false;
	}else{
		return true;
	}
	
	//document.form1.action = "confirm.php";
	//document.form1.submit();
}